In the personal computer industry, there is a growing trend and increased desire to attach external peripheral equipment or devices to the personal computer (PC). Such peripheral devices may include: (1) additional mass storage devices to supplement the storage devices provided internally in the PC enclosure, (2) more conveniently located mass storage devices such as CD-ROM drives and floppy disk drives located near the computer keyboard and computer display and possibly spaced apart from the main PC enclosure by as much as several meters; and (3) other peripheral devices such as imaging devices, scanners, and so forth.
Typically, mass storage devices communicate with the central processor of the PC through a well known communication protocol, known as ATA (which stands for AT Attachment). ATA is a remnant from the ISO bus of the well-known IBM AT computer systems. ATA is an eight-bit or sixteen-bit parallel bus which is relatively simple and well understood. Because ATA has been the standard storage device communication protocol for so many years, computer software and hardware manufacturers are well accustomed to operating in this protocol and the hardware and software related to such mass storage devices are well developed.
Unfortunately, ATA has several drawbacks which make its long-term continued use problematic as the standard communication protocol for computer peripheral equipment. First, the flat ribbon cable typically used for ATA applications is flimsy and has poor transmission characteristics. Second, ATA has a relatively low bandwidth compared to other communication protocols which have been more recently developed. The bandwidth is limited by the propagation delays along the ribbon cable and by the fact that the host and target at either end of the ribbon cable must be locked to each other during the communication process. Third, communication over ATA ribbon cables does not work well when the length of the ribbon cable is as much as a few meters or more. This is not surprising since the ATA standard was originally developed for short connections within a desktop computer enclosure and were not originally intended for more lengthy interconnections. Fourth, in the ATA communication protocol, data is transferred in a single-ended fashion over a single wire rather than differentially over a pair of wires. Each of these drawbacks makes the continued use of ATA ribbon cables for appreciable distances unlikely.
In the meantime, more recent personal computer designs have utilized an interface known as the Small Computer System Interface (SCSI). SCSI is a high-speed serial bus protocol that allows for the connection of up to sixteen devices together. Various SCSI specifications have been developed with different bit lengths and transfer rates. SCSI interconnections alleviate many of the disadvantages of the ATA communication links discussed above.
More recently, a transport layer called Serial Bus Protocol-2 (SBP-2) has been created. SBP-2 runs over an IEEE-1394 serial bus to allow for: (1) larger numbers of connected devices than SCSI, (2) longer, cheaper cables; and (3) better support of multimedia applications. Unfortunately, it will take several years for manufacturers of mass storage devices and other computer peripheral devices to completely adopt the IEEE-1394 communication protocols, as the ATA communication protocol is so well developed, ingrained, and inexpensive to implement.
Another communication protocol has recently been developed in an attempt to allow host computers to communicate with peripheral devices via IEEE-1394 compliant cables. This protocol, known as the "tailgate," includes ATA command descriptor blocks (CDBs) imbedded in the standard operational request blocks (ORBs) of the IEEE-1394 communication protocol. The drawback is that the host computer must supply software drivers to convert SCSI commands to ATA CDBs. Because of this unfortunate requirement, the tailgate standard does not help the manufacturers of host computers in the gradual transition to communicating directly with peripheral devices with SCSI commands.
It is against this background, and the desire to solve the problems of and improve on the prior art, that the above invention has been developed.